Information may be communicated over communication channels. The communication channels may include one or more paths between entities allowing communication of information through one or more types of communication media, for example, metallic conductors, fiber optic cables, and wireless connections. A communication channel has a finite bandwidth, i.e., only a finite amount of information may be communicated through the communication channel in a given amount of time. Information from several different sources may be communicated over a common communication channel, for example, by sequencing the information over time.
Different types of information may be subject to different communication requirements. Examples of such requirements include a minimum amount of bandwidth, a maximum permissible delay, and a maximum permissible portion of the information that is not successfully communicated. For example, a teleconferencing application may require communication of information at high bandwidth and very little delay, but may not be seriously degraded if a portion of the information is lost during communication. Another application, for example, an interactive web browsing application, may tolerate greater delay, but with little or not tolerance for lost information. As another example, a file transfer application may tolerate substantial delay, but require complete reliability of the information communicated. Thus, it is desirable to provide communication in a manner that accommodates the various communication requirements of various types of information. It is also useful to be able to fairly allocate communication resources among types of information having similar communication requirements.
Attempts have been made to use calendar structures for the allocation of information to communication channels. However, such calendar structures have generally required storing in processing large amounts of overhead information to control the communication of information through a communication channel. Such requirements have placed limits on the operating speed of the systems used to allocate information to the communication channel. Thus, scheduling and servicing techniques that avoid these disadvantages are desired.